//全局拦截器
import axios from "axios";
import Element from 'element-ui'
import router from "./router";
axios.defaults.baseURL = "http://localhost:8081"

const request = axios.create({
    timeout: 5000,
    headers: {
        'Content-Type': 'application/json; charset=utf-8'
    }
})

// request.interceptors.request.use(config => {
//     config.headers['Authorization'] = localStorage.getItem("token") // 请求头带上token
// 	//console.log("前置拦截")
// 	// 可以统一设置请求头
//     return config
// })

request.interceptors.response.use(response => {
        let res = response.data;
        console.log("response")
        console.log(res)
		// 当结果的code是否为200的情况
        if (res.code === 200) {
            return response
        } 
		else {
			// 弹窗异常信息
            Element.Message.error(!res.msg ? '系统异常！' : res.msg)
			// 直接拒绝往下面返回结果信息
            return Promise.reject(response.data.msg)
        }
    },
    error => {
		
        console.log(error)// for debug
        if (error.response.data) {
            error.message = error.response.data.msg
        }
		// 根据请求状态觉得是否登录或者提示其他
        if (error.response.status === 401) {
			store.commit('REMOVE_INFO');
            router.push({path:"/admin"});error.message = '请重新登录';
        }
        Element.Message.error(error.message, {duration: 3 * 1000})
		
        return Promise.reject(error)
    }
)
export default request
